package com.sf.su.marathon.utils;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Created by shawn on 2017/12/15.
 */
@Configuration
@EnableSwagger2
public class RestApiUtils {


        public static final String SWAGGER_SCAN_BASE_PACKAGE = "com.sf.su.marathon.web.controller";
        public static final String VERSION = "1.0.0";

        ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("Swagger API")
                    .description("This is to show api description")
                    .license("Apache 2.0")
                    .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
                    .termsOfServiceUrl("")
                    .version(VERSION)
                    .contact(new Contact("运营一队",null,null))
                    .build();
        }

        @Bean
        public Docket customImplementation(){
            return new Docket(DocumentationType.SWAGGER_2)
                    .select()
                    .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
                    .build()
                    .apiInfo(apiInfo());
        }

}
